package com.ztgf.order.models.service.async;

import com.ztgf.common.constant.Result;
import com.ztgf.order.models.bo.pay.PayOrderSaveBO;
import com.ztgf.order.models.vo.pay.PayOrderVO;
import com.ztgf.pay.models.dto.PayOrderDTO;

import java.util.List;

public interface IAsyncOrderService {

    void sendOrderNotice(Long shopId, Long orderId);
    void sendPurchaseNotice(Long shopId, Long purchaseId);

    void sendSms(Long shopId, String content, Integer type);
    void sendOrderSms(Long shopId, String content);
    /**
     * 砍价通知（短信）
     * @param shopId
     */
    void sendMessage(List<Long> shopId);

    /**
     * 砍价通知（站内消息）
     * @param shopId
     * @param type
     */
    void sendWebMessage(Long shopId, int type, Long purchaseId);

    /**
     * 发布询价单（站内信）
     * @param shopIds
     * @param purchaseId
     */
    void sendPurchaseWebMessage(List<Long> shopIds, Long purchaseId);


    /**
     * 支付
     * @param bo
     * @param isCheckToken 是否效验token
     * @return
     */
    Result<PayOrderVO> savePay(PayOrderSaveBO bo, boolean isCheckToken);

}
